//
//  ASSession+Private.h
//  AppleAuth
//
//  Created by 吴双 on 2023/1/23.
//

#import "ASSession.h"
#import "ASSession+Coding.h"
#import "ASType.h"

@protocol ASSessionPrivateDelegate <NSObject>

- (void)setCertificateData:(NSData *)data forKey:(NSString *)key;

- (NSData *)certificateDataForKey:(NSString *)key;

@end



@interface ASAccountSession ()

@property (nonatomic, weak) id<ASSessionPrivateDelegate> privateDelegate;

@property (nonatomic, strong) NSArray<ALTTeam *> *teams;

@property (nonatomic, strong, readonly) NSMutableDictionary<NSString *, ASTeamSession *> *teamSessions;

- (instancetype)initWithSession:(ALTAppleAPISession *)session account:(ALTAccount *)account;

@end






@interface ASTeamSession ()

@property (nonatomic, weak) id<ASSessionPrivateDelegate> privateDelegate;

- (instancetype)initWithSession:(ALTAppleAPISession *)session account:(ALTAccount *)account team:(ALTTeam *)team;

@end
